ALL EDITORS V442 - JOIN ONLY THE PARTY OF THE CAMPAIGN YOU CHOSE
(V441 base: Sunshine account window, players type their account name)

THE BUG (V436-V441)
  Choosing SoA / ToB / TBP always joined Player 1's party, whatever campaign
  that party was playing. BG2 does not refuse a host of another campaign on
  a direct IP join (your network.log: a BG2EE-TOB window joined a SoA host),
  so the "BG2 will refuse the wrong campaign" check never happened.

WHAT V442 DOES
  - The window that hosts a party tells the router which campaign it plays.
    The router keeps one small file per hosted campaign in the profile:
        BaldursGate2Online\_DRAKHOST_SoA.txt   (inside: the host account)
        BaldursGate2Online\_DRAKHOST_ToB.txt
        BaldursGate2Online\_DRAKHOST_TBP.txt
  - A player who clicks a campaign on the main menu:
        that campaign is hosted on this PC  -> joins that party
        nothing hosted, or another campaign -> Create Game for the chosen
                                               campaign right away
  - The file disappears when the host returns to the main menu, logs out,
    or its BG2 window closes (router checks every 2 s). Setup also removes
    any file left by a crash.

ONE LIMIT (BG2 itself)
  All windows run on the host PC (Sunshine). BG2 can host only ONE party per
  PC, so while Player 1 hosts SoA, a player choosing ToB gets Create Game
  but BG2 will most likely refuse to start a second party. Same campaign =
  same party.

INSTALL (HOST PC)
  Close every BG2 window, run All Editors\SETUP_IN_GAME_ACCOUNTS.bat.
  Sunshine settings stay the same.

TRY IT
  1. Account A: choose SoA -> Create Game -> start the party (Player 1).
  2. Account B: choose SoA -> joins A's party.
  3. Account C: choose ToB -> Create Game opens (no join into A's SoA party).

CHECKS
  python -m unittest test_v442_host_campaign test_v436_campaign_join test_v440_account_picker -v
NOT TESTED HERE: real BG2 windows, Sunshine and Moonlight.
